home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 2
/
SPACE - Library 2 - Volume 1.iso
/
apps
/
255
/
applic
/
gdoshelp.doc
< prev
next >
Wrap
Text File
|
1988-06-14
|
21KB
|
463 lines
EVERYTHING YOU EVER WANTED TO KNOW ABOUT GDOS (AND MORE)
by Douglas N. Wheeler
What is GDOS?
GDOS is an extension to GEM which adds new capabilities to your
ST. Originally, GDOS was intended to be an integral part of GEM, but
due to time restraints, had to be left out. Atari is now offering GDOS
to registered developers at a cost of $500 per application using GDOS
(it doesn't cost anything to look, except for the cost of becoming a
developer).
The three primary new capabilities are:
1. The ability to use multiple fonts in various point sizes on the
screen, printer, and other output devices.
2. Allows the creation of metafiles, which are standardized files
intended to be useable by many different applications. This
allows files created in one file to be useable in another.
3. Support for various output devices with resolutions up to
32,767 x 32,767 (including emulation of this resolution on the
screen). This allows graphics to be printed at the highest
resolution of the output device.
How to use GDOS
In theory, using GDOS is as simple as putting GDOS.PRG in your
AUTO folder and booting the computer. In practice, though, a series of
conditions must be met. The most important of these conditions is that
there must be a valid ASSIGN.SYS file present in the root directory of
the boot disk.
The following is a typical ASSIGN.SYS file.
PATH=C:\GDOS.SYS
;
01p SCREEN.SYS ; default screen
;
02p SCREEN.SYS ; low resolution
ATSS10.FNT ; fonts
ATSS12.FNT
ATSS18.FNT
ATSS24.FNT
ATTP10.FNT
ATTR10.FNT
ATTR12.FNT
ATTR18.FNT
ATTR24.FNT
;
03p SCREEN.SYS ; medium resolution
ATSS10CG.FNT
ATSS12CG.FNT
ATSS18CG.FNT
ATSS24CG.FNT
ATTP10CG.FNT
ATTR10CG.FNT
ATTR12CG.FNT
ATTR18CG.FNT
ATTR24CG.FNT
;
04p SCREEN.SYS ; high resolution
ATSS10.FNT
ATSS12.FNT
ATSS18.FNT
ATSS24.FNT
ATTP10.FNT
ATTR10.FNT
ATTR12.FNT
ATTR18.FNT
ATTR24.FNT
;
21 FX80.SYS ; Epson 9-pin dot-matrix printer
ATSS10EP.FNT
ATSS12EP.FNT
ATSS18EP.FNT
ATSS24EP.FNT
ATTP10EP.FNT
ATTR10EP.FNT
ATTR12EP.FNT
ATTR18EP.FNT
ATTR24EP.FNT
;
31r META.SYS ; metafile driver
ATSS10MF.FNT
ATSS12MF.FNT
ATSS18MF.FNT
ATSS24MF.FNT
ATTP10MF.FNT
ATTR10MF.FNT
ATTR12MF.FNT
ATTR18MF.FNT
ATTR24MF.FNT
As you can see, I have divided the file into distinct groups.
The first line of the ASSIGN.SYS file is use to tell GDOS where the
fonts and device drivers are located. This line must always start with
PATH= which is followed by a pathname of up to 64 characters locating
the fonts and drivers,
Following the path identifying line is the list of device
drivers and their associated fonts. Each group is composed of four
parts. First is a number representing the type of device:
01-10 Screen drivers
11-20 Plotter drivers
21-30 Printer drivers
31-40 Metafile drivers
The Atari has four built-in device drivers, they are
01 Default screen (used when an application doesn't care about the
screen resolution)
02 Low resolution screen
03 Medium resolution screen
04 High resolution screen
Immediately following the device number may be a "load flag" of
either "p" or "r". A "p" indicates that the device driver is
"p"ermanent and does not need to be loaded by GDOS. Because the ST has
it's screen drivers built into ROM, there will be a "p" after devices
01-04. An "r" indicates that the device driver should be kept
"r"esident, causing GDOS to load the device driver immediately. If a
load flag is not present, GDOS will only load the device driver when an
application opens (accesses) that device.
After the device number and load flag is the filename of the
device driver as it appears in the disk directory. In the case of
ROM-resident drivers, the filename is only a place-holder (but must be
present). Keep in mind that the device driver must be in the folder
specified in the path line. On the lines following those three items
is a list of fonts associated with that device (again, these are the
filenames as they appear in the indicated path of the disk).
You may have noticed a few lines with semicolons (;) in them.
GDOS will treat any text on a line to the right of a semicolon as a
comment and will ignore it.
Editing/Creating ASSIGN.SYS
Now, why would you want to change your ASSIGN.SYS file? Well,
if you have just one program which uses GDOS, and you are happy with
the fonts you have, then there is no reason to change it. But, now
that GDOS is beginning to be accepted on the ST, many of us are
acquiring a collection of GDOS applications and fonts. By editing or
creating a new ASSIGN.SYS, you could create a "universal" ASSIGN.SYS
and font/driver folder to be used with all of these programs!
Luckily, the ASSIGN.SYS file is a standard text (ASCII) file
which may be edited with most text editors and word processors. The
only requirement is that the file not contain any formatting codes.
This can usually be accomplished in a word processor by turning
document mode off, or selecting "Save as text" (check your word
processor manual for exact instructions for doing this). If you are
using a text editor, such as MicroEmacs or Tempus, all you have to do
is save the file.
Starting at the top, the first thing you may want to change is
the PATH= line at the beginning of the ASSIGN.SYS file. By changing
this line, you can put your fonts and printer drivers on another disk
or hard drive partition (instead of your boot disk). If you are using
floppies, keep in mind that this directory (folder) must be present
when an application accesses any of the GDOS devices. Also, to speed
booting, this directory should be present when GDOS is loaded.
Below is a list of my recommended configurations based on what
arrangement of disk drives is being used.
One floppy drive:
Boot disk (drive A) with:
AUTO folder containing GDOS.PRG
GDOS.SYS folder containing the fonts and drivers
ASSIGN.SYS with PATH=A:\GDOS.SYS
Any GDOS application(s) (you may wish to create separate
boot disks for each GDOS application)
Two floppy drives:
Boot disk (drive A) with:
AUTO folder containing GDOS.PRG
ASSIGN.SYS with PATH=B:\GDOS.SYS
Font/driver disk (drive B) with:
GDOS.SYS folder containing fonts and drivers
Application disk (drive A after booting GDOS) with:
Any GDOS application(s) (you may wish to create separate
application disks for each GDOS application)
Hard drive (booting from floppy):
Boot disk (drive A) with:
AUTO folder containing hard drive boot program and
GDOS.PRG
ASSIGN.SYS with PATH=C:\GDOS.SYS
Hard drive partition C with:
GDOS.SYS folder containing fonts and drivers
Any hard drive partition with:
Any GDOS application(s) (may be on any partition)
Hard drive (autobooting):
Hard drive partition C with:
AUTO folder containing GDOS.PRG
GDOS.SYS folder containing fonts and drivers
ASSIGN.SYS with PATH=C:\GDOS.SYS
Any hard drive partition with:
Any GDOS application(s) (may be on any partition)
Of course, these are only suggestions, and other configurations
may be better for different applications. Hopefully you should now be
able to create other set-ups without too much difficulty. There are a
few "musts" that have to be observed:
GDOS.PRG must be in the AUTO folder of the boot disk.
ASSIGN.SYS must be in the root directory of the boot disk.
The PATH= line in the ASSIGN.SYS file must contain the complete
pathname of the folder containing the fonts and drivers.
The fonts and drivers must be in the right place when an
application or tries to open a device.
A bit about fonts
One question about GDOS fonts that people ask is, "when are the
fonts loaded?" Many people are under the impression that all the fonts
are loaded when GDOS is initially loaded. This is not true (and cannot
be done). An "r" load flag in the ASSIGN.SYS file will cause GDOS to
load only the device driver, not the fonts. Fonts are loaded only
after an application opens a device and asks for the fonts to be
loaded. At that time, GDOS will attempt to load all the fonts for that
device. If there is an error (can't find the file, not enough memory,
etc.) GDOS will skip over that font and continue with the next one.
When an application is through with the fonts, it can "unload" the
fonts to free up that memory.
Another fact that many people don't understand is that the font
filename is irrelevant to GDOS. Each font has a "header" consisting
of various parameters, some of these are: point size, font name, and a
font ID which is used to identify fonts of the same type (i.e. all
swiss fonts have the same ID). Another thing to note is that GDOS does
not handle line spacing, this is handled by the application regardless
of the actual size of a given font. Some programs use the point size
to determine line spacing, and others use the actual height of the font
(yes, the point size can be set different from the actual size).
For those of you creating your own fonts (with GEMFED or
FONTZ!), you must assign a unique font ID (from 0 to 32,767) to each of
your fonts, and all font of the same type (i.e. Times), but of
different size, must have the same ID. Another thing you must know
when creating your own fonts, is the resolution of the devices you are
creating the fonts for. The folowing is a list of most of the
currently available devices and their resolution.
Low resolution screen 45 x 45 (horizontal dpi x vertical dpi)
Medium resolution screen 90 x 45
High resolution screen 90 x 90
9-pin dot-matrix printer 120 x 144
24-pin printer 180 x 180 or 360 x 360 (NEC P-series only)
Laser printer 150 x 150 (some) or 300 x 300
As you can see, most of these devices have square (round)
pixels. This allows for sideways printing using the same fonts as for
vertical (normal) printing. A notable exception to this is with the
9-pin dot-matrix printers, which will distort characters when printing
them sideways. Different drivers (from different companies) handle
this problem differently: they either ignore the fact (and print
distorted characters sideways), or they print the left and right sides
of a horizontal page on two separate vertical pages, which must then be
taped together. The first method is the easier (and faster) of the
two, but the second method will produce correct characters, and the
taping isn't too bad if you are going to photocopy the final product.
It would be possible to create separate fonts for sideways
printing. but so far this has not been done. Also, Epson printers (and
100% compatibles) have a 144 x 144 dpi (double plotter) mode which
could be utilized. This would not only allow non-distorted sideways
printing, but offers slightly higher resolution in the horizontal
axis.
Font filenames
As I stated earlier, font filenames are not used by GDOS, but
to us humans, consistant filenames can greatly simplify things. With
the official release of GDOS (late last year), Atari adopted a
standardized way of naming font files. Here I will explain Atari's
idea and add a few extensions
A font filename like ATSS10EP.FNT may look meaningless to
someone who doesn't know how the filename was derived, but is, in fact,
very functional.
The first and second characters (AT) indicates the
creator/distributor of the font (in this case Atari). Atari has
suggested that these characters be "AT" for all fonts used on the
Atari, this seems meaningless to me, as I don't have any fonts for any
other computers on my ST disks. (Why would I?) I feel these two
characters can be put to better use to specify the
creator/distributor.
The third and fourth characters (SS) identify the typestyle (in
this case Sans Serif). These should be unique to a particular
rendition of a specific typeface.
The fifth and sixth characters (10) specify the point size of
the font. This should be the point size as printed on the device the
font was designed for, not the pixel height. Also, sizes less than 10
should have a leading zero (i.e. 06) to maintain the overall
structure.
The seventh and eighth characters (EP) specify the device for
which the font was designed (in this case the Epson 9-pin driver). If
there are no seventh and eighth characters, the font is assumed to be
for the high-resolution screen.
The filename extender on all fonts will be .FNT.
Although not many companies/individuals have produced fonts for
the ST (yet), I recommend that all font filenames follow this
convention to avoid confusion. I also suggest a few standard
identifiers:
Creator/distributor: AT - Atari
MG - Migraph
TW - Timeworks
NC - Neocept
Typestyles: SS - Sans Serif (Atari's Swiss)
TR - Times Roman (Atari's Dutch)
TP - Typewriter (Atari)
DB - Dingbats (Timeworks' Bullets)
DL - Drury Lane (Timeworks)
MA - Madison (Timeworks)
RK - Rockface (Timeworks)
RA - Ravinia (Timeworks)
CL - Camelot (Neocept)
Device: MG (or none) - Monochrome graphics (high/low
resolution screen)
CG - Color graphics (medium resolution screen)
EP - Epson 9-pin dot-matrix prnter (120 x 144)
NB - Star NB-24 24-pin dot-matrix printer
(180 x 180)
NC - NEC C-series 24-pin dot-matrix printer
(360 x 360)
LL - low resolution laser printer (150 x 150)
LS - standard laser printer (300 x 300)
In many cases, the creator/distributor is not important, in
which case the first four characters can be used for the typestyle.
You will also notice that I have listed typestyles from various
companies, I have done this because I recommend that you rename all of
the font you currently have to match the above conventions, this will
save you a lot of confusion in the future when you may have ten times
as many fonts. One thing to note if you create a master ASSIGN.SYS
file, is that although the Timeworks Swiss and Dutch fonts are
different from Atari's, they use the same font IDs. GDOS could get
very confused if you have two fonts with the same ID and point size.
My personal recommendation is to replace Timeworks' Swiss and Dutch
fonts in the 10, 12, 18, and 24 point sizes with the ones from Atari,
as I feel these are much more professional and true to the original
Helvetica and Times Roman typefaces.
Metafiles
Metafiles are (in theory) ideal files which can be exchanged
between different GDOS applications. Metafiles are those files with a
.GEM extender. Metafiles are "ideal" in the respect that they are
resolution independent. They are simply instructions for the computer
to recreate a page on any output device at that device's highest
resolution. This is accomplished by storing commands for drawing
lines, circles, rectangles, text, etc., unlike most picture files
(.NEO, PI?, etc.) whitch store the dots making up an image.
Unfortunately, metafiles are not 100% standard yet. This
results in programs not being able to read metafiles created by another
application. Technically, the fault lies with the program trying to
load the metafile, not the creator. Many different parameters may be
present in the header of a metafile, but only a few of these are
required. Unfortunately, many applications expect some of the optional
parameters to be there and can't load the file correctly if they don't
exist. Currently Easy-Draw (version 2.3) is the most capable of the
available GDOS applications, and can read just about any metafile.
Some of the more recent GDOS applications are allowing the use
of GEM image files (those ending in .IMG). These are bit-mapped images
similar to those created by the various ST paint programs (but without
the screen size and resolution limitations). As is the case with other
paint files, these images may be jagged or blocky when printed on a
high resolution device.
A very important fact about images in metafiles is that the
metafile does not actually contain a copy of the image. The metafile
only contains the filename of the image on disk. This means that you
must not remove the disk containing an image while the metafile is
being printed, and everytime you print that metafile, the image must be
in the same disk (or you will have to change your file). If GDOS can't
find the image, it will just skip over it. Be warned.
Miscellaneous comments
If you are using the Timeworks Desktop Publisher ST (TDTP), you
must run the FONTWID.APP program each time you modify the ASSIGN.SYS
file. Another important fact is that the relative widths of the
Timeworks fonts are not the same for different devices. What this
means is that if you create a document with TDTP installed for use with
an Epson 9-pin printer, then load the file into TDTP installed for use
with a laser printer, the text will be re-flowed. This may result in
different column breaks, lost text, extra white space, etc. The best
solution to this problem is to create the document with a TDTP
installed for the device which will create the final copy. Another
idea is to use Atari's fonts (if you have them, they are not public
domain), as the relative sizes between devices is very close (there
still may be a few differences, but can be fixed readily).
For those of you who have seen a lot of DEGAS Elite GDOS fonts
floating around, don't get too excited. For those to print properly
(even blocky), you must have matching printer fonts for the screen
fonts. GEMFED or FONTZ! greatly simplify this process, but if you
intend to create a complete set of fonts in four or five sizes, you
will have a lot of work ahead of you.
Anyone creating fonts for the general public (either commercial
or PD), try to remember that not everyone is using the same kind of
monitor or printer you are. If at all possible, create fonts for all
the devices I have listed above.
Another thing I didn't mention are metafile fonts. These are
not really fonts, but merely width tables designed to keep correct
character spacing in a file when used with different GDOS applications.
In most cases, you can eliminate metefile fonts without any loss of
quality.
Glossary
Device (Graphics Device) - Anything used to create some form of
output, usually on a video screen or
printed on paper or film.
Device Driver - A computer program used to control a device as
specified by a "master" application.
Font - A typeface of a given style and point size.
GDOS - Graphics Device Operating System; an extension to the Atari
ST's operating system allowing for the use of various fonts
and graphics devices.
GEM - Graphics Environment Manager; the portion of the ST's
operating system which is responsible for most of the visual
aspects of the ST.
Header - A portion of a file (usually at the beginning) containing
various parameters describing the file.
Line Spacing - The distance between successive line of text, usually
measured in points.
Pixel - Picture element; a single dot, usually one of many used to
create a complete image on a video screen or printed on paper
or film.
Point - A typographical unit of measure; approximately 1/72".
Copyrights, Trademarks, Etc.
This document is copyright 1988 by Douglas N. Wheeler, all
rights reserved.
Any questions or comments about this document can be directed
to me: Douglas N. Wheeler, PSC 3 Box 6096, Travis AFB, CA 94535 (707)
437-3786, GEnie address D.N.WHEELER.
This document mentions several commercial/copyrighted products.
In each case, it is to be understood that the names are trademarks of
their respective companies and are used here only as references. I am
in no-way connected, either through employment or otherwise, to any of
these companies.
I cannot be held responsible for any damages resulting from the
use or misuse of the information contained in this document. This
document was created for the purpose of providing information, it is up
to the reader to accept responsibility for the results of the use of
this information.